/* eslint-disable */
import axios from "axios";

/**
 * 定义请求常量
 * TIME_OUT、ERR_OK
 */
export const TIME_OUT = 100000; // 请求超时时间
export const ERR_OK = true; // 请求成功返回状态，字段和后台统一
//axios.defaults.baseURL = 'http://121.196.40.49:5555'
axios.defaults.baseURL = "http://192.168.0.30:5555"; // 引入全局url，定义在全局变量process.env中，开发环境为了方便转发，值为空字符串

// 请求超时时间
axios.defaults.timeout = TIME_OUT;

// 封装请求拦截
axios.interceptors.request.use(
  config => {
    // 为请求头带上token
    if (localStorage.getItem("token")) {
      config.headers.common["token"] = localStorage.getItem("token");
    }
    return config;
  },
  error => {
    return Promise.reject(error);
  }
);
// 封装响应拦截，判断token是否过期
axios.interceptors.response.use(
  response => {
    let { data } = response;
    if (data.code == "403") {
      // 如果后台返回的错误标识为token过期，则重新登录
      localStorage.removeItem("token"); // token过期，移除token
      // 进行重新登录操作
    } else {
      return Promise.resolve(response);
    }
  },
  error => {
    return Promise.reject(error);
  }
);

export { axios };
